'use strict';
const mongoose = require('mongoose');
const config = require('../config/config.unittest.js')({});
const fs = require('fs');
const readline = require('readline');
const moment = require('moment');
const _ = require('lodash');

let ParserBetter = require('../app/utils/rss/parser');
let parserBetter = new ParserBetter({timeout: 10000});

const UserModel = require('../app/model/User')({
  mongoose,
});
const TopicModel = require('../app/model/Topic')({
  mongoose,
});
const TopicCollectModel = require('../app/model/TopicCollect')({
  mongoose,
});

mongoose.connect(config.mongoose.url, config.mongoose.options, function (err) {
  if (err) {
    console.error('connect to %s error: ', config.mongoose, err.message);
    process.exit(1);
  }
});

main();

async function main() {
  await crud();
  process.exit(0);
}


async function crud() {
  const users = await UserModel.find({rss: {$exists: true}}).sort({_id: -1});
  for (let i = 0; i < users.length; i++) {
    let user = users[i];
    user.froms = [...user.froms] || [];
    user.froms.push({name: '播客RSS', url: user.rss});
    user.froms = _.uniqWith(user.froms, _.isEqual);
    await user.save();
    console.log(user.loginname, i, users.length);
  }

}
